﻿Imports System.Resources
Imports System.Threading
Imports Biz
Imports BLL


Public Class ctrlListaBitacora

    Private _RM As ResourceManager


    Public Sub SetIdioma()

        _RM = New ResourceManager("UI.Idiomas", System.Reflection.Assembly.GetExecutingAssembly)

        advTreeBitacora.Columns("colHeaderUsuario").Text = _RM.GetString("strUsuario")
        advTreeBitacora.Columns("colHeaderFecha").Text = _RM.GetString("strFecha")
        advTreeBitacora.Columns("colHeaderOperacion").Text = _RM.GetString("strOperacion")
        advTreeBitacora.Refresh()

        checkFechaHoy.Text = _RM.GetString("strBitaFechaHoy")
        checkFechaAyer.Text = _RM.GetString("strBitaFechaAyer")
        checkFecha7dias.Text = _RM.GetString("strBitaFecha7dias")
        checkFecha30dias.Text = _RM.GetString("strBitaFecha30dias")
        checkFechaTodas.Text = _RM.GetString("strBitaFechaTodos")

        SetAyudaContextual()

    End Sub

    Public Sub CargarGrilla()
        Dim oBitacora_Usuario As cBitacora_Usuario
        Dim colObjetos As Collection
        Dim oNode As DevComponents.AdvTree.Node


        advTreeBitacora.BeginUpdate()

        advTreeBitacora.Nodes.Clear()

        Try
            If checkFechaHoy.Checked Then
                colObjetos = GestorBitacora.Instance.Consultar(Utils.Enumeradores.ConsultaBitacora.Hoy)
            ElseIf checkFechaAyer.Checked Then
                colObjetos = GestorBitacora.Instance.Consultar(Utils.Enumeradores.ConsultaBitacora.Ayer)
            ElseIf checkFecha7dias.Checked Then
                colObjetos = GestorBitacora.Instance.Consultar(Utils.Enumeradores.ConsultaBitacora.Semana)
            ElseIf checkFecha30dias.Checked Then
                colObjetos = GestorBitacora.Instance.Consultar(Utils.Enumeradores.ConsultaBitacora.Mes)
            Else
                colObjetos = GestorBitacora.Instance.Consultar(Utils.Enumeradores.ConsultaBitacora.Todo)
            End If

            If Not colObjetos Is Nothing Then

                For Each oBitacora_Usuario In colObjetos

                    oNode = New DevComponents.AdvTree.Node

                    oNode.Tag = oBitacora_Usuario.Bita_FechaHora
                    oNode.Text = oBitacora_Usuario.oUsuario.Usu_Nombre + " " + oBitacora_Usuario.oUsuario.Usu_Apellido + " (" + oBitacora_Usuario.oUsuario.Usu_Legajo.ToString + ")"
                    oNode.Cells.Add(New DevComponents.AdvTree.Cell(oBitacora_Usuario.Bita_FechaHora))
                    oNode.Cells.Add(New DevComponents.AdvTree.Cell(oBitacora_Usuario.oOperacion.Oper_Descrip))

                    advTreeBitacora.Nodes.Add(oNode)

                Next
            End If

        Catch ex As Excepciones.BitacoraFalloConsulta
            Main.ManejarExcepcion(ex)
        Catch ex As Exception
            Main.ManejarExcepcion(ex)
        End Try

        advTreeBitacora.EndUpdate()

        advTreeBitacora.Refresh()

    End Sub

    Public Sub SetAyudaContextual()
        _RM = New ResourceManager("UI.AyudaContextual", System.Reflection.Assembly.GetExecutingAssembly)

        HelpProviderForm.SetHelpString(advTreeBitacora, "Lista de operaciones realizadas por usuarios del sistema en el período seleccionado")

    End Sub

    Public Sub Inicializar()

        checkFechaHoy.Checked = True

        SetAyudaContextual()

    End Sub

    Private Sub checkFechaHoy_CheckedChanged(sender As Object, e As EventArgs) Handles checkFechaHoy.CheckedChanged
        If checkFechaHoy.Checked Then CargarGrilla()
    End Sub

    Private Sub checkFechaAyer_CheckedChanged(sender As Object, e As EventArgs) Handles checkFechaAyer.CheckedChanged
        If checkFechaAyer.Checked Then CargarGrilla()
    End Sub

    Private Sub checkFecha7dias_CheckedChanged(sender As Object, e As EventArgs) Handles checkFecha7dias.CheckedChanged
        If checkFecha7dias.Checked Then CargarGrilla()
    End Sub

    Private Sub checkFecha30dias_CheckedChanged(sender As Object, e As EventArgs) Handles checkFecha30dias.CheckedChanged
        If checkFecha30dias.Checked Then CargarGrilla()
    End Sub

    Private Sub checkFechaTodas_CheckedChanged(sender As Object, e As EventArgs) Handles checkFechaTodas.CheckedChanged
        If checkFechaTodas.Checked Then CargarGrilla()
    End Sub

End Class
